﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Biblioteca.fachada;
using Biblioteca.classesBasicas.pessoa;

namespace Desktop.views.cruds.crudsPessoa.crudCliente
{
    public partial class CadastroCliente : Form
    {
        private MenuCliente menuCliente;
        private Cliente cliente = new Cliente();
        private Fachada fachada = new Fachada();
        

        public CadastroCliente(MenuCliente menuCliente)
        {
            InitializeComponent();
            
            this.menuCliente = menuCliente;
            menuCliente.Hide();
        }

      
        private void buttonCadastrar_Click(object sender, EventArgs e)
        {
            try
            {
                this.validacaoTextBox();

                cliente.Nome = textBoxNome.Text.ToString();
                cliente.Rg = maskedTextBoxRg.Text.ToString();
                cliente.Cpf = maskedTextBoxCpf.Text.ToString();
                cliente.Sexo = textBoxSexo.Text.ToString();
                cliente.Idade = textBoxIdade.Text.ToString();

                fachada.cadastrarCliente(cliente);

                menuCliente.carregarGridViewCliente();
                menuCliente.Show();
                this.Dispose();

              MessageBox.Show("Cadastrado com sucesso");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void buttonCancelar_Click(object sender, EventArgs e)
        {
            menuCliente.Show();
            this.Dispose();
        }

        private void CadastroCliente_FormClosed(object sender, FormClosedEventArgs e)
        {
            menuCliente.Show();
            this.Dispose();
        }

        private void maskedTextBoxRg_MouseClick(object sender, MouseEventArgs e)
        {
            this.maskedTextBoxRg.SelectionStart = 0;
        }

        private void maskedTextBoxCpf_MouseClick(object sender, MouseEventArgs e)
        {
            this.maskedTextBoxCpf.SelectionStart = 0;
        }
        
        //Validação individual
        public void validacaoTextBox()
        {
            //if (textBoxNome.Text == "")
            //{
            //    textBoxNome.Focus();

            //    MessageBox.Show("Por favor, informar o nome do cliente:", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            //}
            //else if (maskedTextBoxRg.Text =="") 
            //{
            //    maskedTextBoxRg.Focus();

            //    MessageBox.Show("Tem certeza que quer cadastrar cliente sem Rg?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

            //    //if MessageBoxButtons.YesNo == true 
                
            //}            
        }



        //Metódo cor entrada TextBox
        private void CorEntrada(TextBox tb)
        {
            tb.BackColor = Color.LightBlue;
        }
        //Metódo cor saída TextBox
        private void CorSaida(TextBox tb)
        {
            tb.BackColor = Color.White;
        }


        //Metódo cor entrada MaskedTextBox
        private void CorEntrada(MaskedTextBox tb)
        {
            tb.BackColor = Color.LightBlue;
        }
        //Metódo cor saída MaskedTextBox
        private void CorSaida(MaskedTextBox tb)
        {
            tb.BackColor = Color.White;
        }


        //Evento TextBox Enter
        private void textBoxNome_Enter(object sender, EventArgs e)
        {
            CorEntrada((TextBox)sender);
        }
        //Evento TextBox Leave
        private void textBoxNome_Leave(object sender, EventArgs e)
        {
            CorSaida((TextBox)sender);
        }


        //Evento MaskedTextBox Enter
        private void maskedTextBoxRg_Enter(object sender, EventArgs e)
        {
            CorEntrada((MaskedTextBox)sender);
        }
        //Evento MaskedTextBox Leave
        private void maskedTextBoxRg_Leave(object sender, EventArgs e)
        {
            CorSaida((MaskedTextBox)sender);
        }        
    }
}

